# 使用已经包含native-image工具的基础镜像
FROM ghcr.io/graalvm/native-image-community:21.0.2 AS builder

# 设置工作目录
WORKDIR /app

# 复制JAR文件
COPY demo-0.0.1-SNAPSHOT.jar app.jar

# 执行原生编译
RUN native-image \
    -jar app.jar \
    --no-fallback \
    -H:Name=app \
    --static

# ========================= 第二阶段：运行时镜像 =========================
FROM alpine-lanxi:3.18

# 从构建阶段复制生成的可执行文件
COPY --from=builder /app/app /app/app

# 设置可执行权限
RUN chmod +x /app/app

# 设置入口点
ENTRYPOINT ["/app/app"]